#include "XiParser.hpp"
#include "XiParserImpl.hpp"

XI_NAMESPACE_BEGIN

extern int yydebug;
extern int yyparse(XiLexer &lexer, XiNodePtr &root);

XiParser::XiParser( XiLexer &lexer )
: m_lexer(lexer)
{
	yydebug = 1;
}

XiNodePtr XiParser::Parse( void )
{
	XiNodePtr root;
	if (yyparse(m_lexer, root) == 0)
		return root;
	else
		return XiNodePtr();
}

XI_NAMESPACE_END